package cn.tedu.mimall.product.service;

import cn.tedu.mimall.product.pojo.dto.ProductAddNewDTO;
import cn.tedu.mimall.product.pojo.dto.ProductUpdateDTO;
import cn.tedu.mimall.product.pojo.vo.ProductListItemVO;
import cn.tedu.mimall.product.pojo.vo.ProductStandardVO;

import java.util.List;

/**
 * 处理商品数据的业务类接口
 *
 * @author rz
 * @version 0.0.1
 */
public interface IProductService {
    void addNew(ProductAddNewDTO productAddNewDTO);

    void deleteById(Long id);

    void updateInfoById(Long id, ProductUpdateDTO productUpdateDTO);

    void updateProductStateById(Long id, Long productStateId);

    ProductStandardVO getStandardById(Long id);

    List<ProductListItemVO> list();

    List<ProductListItemVO> listByClassifyId(Long id);

    List<ProductListItemVO> listByTitle(String title);

    List<ProductListItemVO> listOrderByPrice();

    List<ProductListItemVO> listOrderByPriceDesc();

    void rebuildCache();
}
